[C] Arquivos e Stat
Publicado por Enzo de Brito Ferber (última atualização em 23/09/2010)
[ Hits: 8.373 ]
Homepage: http://www.maximasonorizacao.com.br
Programa simples mostrando como usar a função stat(), e como manipular aquivos de uma forma bem simples. Ponteiros também são usados.
Baixe:
$ tar -xzvf loadfile.tar.gz
$ cd loadfile
$ ./loadfile text
;)
[]'s
/* loadfile.c */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> int main ( int argc, char *argv[] ) { char *fullfile, *p, *p2, c ; struct stat fileinfo; FILE *openfile; if ( argc < 2 ) { printf ( "[*] Usage: %s <file>\n", argv[0] ); exit ( EXIT_FAILURE ); } /* read-binary permission */ openfile = fopen ( argv[1], "rb" ); if ( !openfile ) { printf ( "[*] Can't open file %s\n", argv[1] ); exit ( EXIT_FAILURE ); } /* file info for file size */ if ( stat ( argv[1], &fileinfo ) == -1 ) { printf ( "[*] Can't stat() file %s\n", argv[1] ); exit ( EXIT_FAILURE ); } /* alloc memory for the pointer * * fileinfo.st_size = size of the file in bytes */ fullfile = ( char * ) malloc ( fileinfo.st_size * sizeof ( char )); if ( !fullfile ) { printf ( "[*] Can't malloc() %d bytes\n", fileinfo.st_size ); exit ( EXIT_FAILURE ); } /* To view all the resources of the stat structure: * * $ man stat */ printf ( "File info:\n" ); printf ( "UID : %d\n", fileinfo.st_uid ); printf ( "GID : %d\n", fileinfo.st_gid ); printf ( "Size: %d bytes\n", fileinfo.st_size ); printf ( "Mode: %8.8x\n", fileinfo.st_mode ); /* reference pointer */ p = fullfile; while ( 1 ) { if ( feof ( openfile )) break; fscanf ( openfile, "%c", &(*(p++)) ); } /* print file */ p2 = fullfile; while ( fullfile < p ) putchar ( *(fullfile++) ); /* put back in place what you use */ free ( p2 ); fclose ( openfile ); return 0; }
Programa para inversão de colunas
Pequeno simulador de Banco de Dados
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
O que você quer para sua vida ao usar o Linux?
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Audio intermitente xubuntu notebook positivo c14 vision (5)
Adicional de convivdado em linux somente linha de comando (2)